The present invention relates to computer networking, and more particularly to an improved small computer systems interface (SCSI) multiplexer that allows the use of modern SCSI controller chips that cannot generate the selection sequence specified in the original SCSI system.
A small computer systems interface multiplexer (SCSI Mux) allows several computer systems to access several shared SCSI mass storage devices or other SCSI peripherals using a single existing SCSI port. It permits each computer to maintain shared and non-shared peripherals, hence the isolation. It allows SCSI bus identification (ID) translation, thereby expanding the number of allowable SCSI devices past the limit of eight. It allows shared, or global, bus locking to insure peripheral possession when doing multiple transfers to a shared device.
The SCSI Mux is inserted between the SCSI bus for each computer, the local bus, and the shared SCSI bus, the global bus. The local devices are isolated in that no other computers can access them through the global bus, although the computer on the local bus can. To access a global device coupled to the global bus, a pseudo-operation code is sent to the SCSI Mux to tell it the bus ID of the global device to be accessed, and whether a bus lock is required. The computer then does a normal SCSI transfer to the local bus ID of the SCSI Mux. The SCSI Mux translates the bus ID using the information sent in the previous pseudooperation code and arbitrates for the global bus. When the global bus is "won", the SCSI Mux connects the local and global buses, and the transfer is completed. At the end of the transfer the buses are disconnected unless a lock is requested, in which case the global bus is held until lock is cleared by the computer system.
The pseudo-operation code provides a way for the computer to send information to the SCSI Mux only, without using any additional SCSI bus IDs. This is done by using a selection sequence with three bits "on", to which no SCSI target device responds. The SCSI Mux recognizes this selection sequence and gets the information needed. The allowable number of SCSI devices is expanded from eight since a single SCSI Mux, using up only one bus ID, may address up to seven more SCSI devices. Up to six SCSI Muxs may be used, allowing up to forty-four SCSI devices. The locking ability provides for the situation where an uninterruptable sequence of SCSI transfers to a shared device is necessary. The SCSI Mux accomplishes this by driving the busy (BSY) line active soon enough after it is released by the target device when the lock is on, not allowing any initiator to detect a bus free phase.
Modern SCSI controller chips cannot generate the "illegal" selection sequence with three bits "on". Therefore another means is required for transferring data to the SCSI Mux.